package cn.iocoder.yudao.hires.mapper;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.hires.entity.NoticeEnterpriseDO;
import cn.iocoder.yudao.hires.vo.noticeenterprise.NoticeEnterprisePageReqVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 下游-企业人才库 Mapper
 *
 * @author 超级管理员
 */
@Mapper
public interface NoticeEnterpriseMapper extends BaseMapperX<NoticeEnterpriseDO> {

    default PageResult<NoticeEnterpriseDO> selectPage(NoticeEnterprisePageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<NoticeEnterpriseDO>().eqIfPresent(NoticeEnterpriseDO::getUserId, reqVO.getUserId()).eqIfPresent(NoticeEnterpriseDO::getResumeId, reqVO.getResumeId()).likeIfPresent(NoticeEnterpriseDO::getCompanyName, reqVO.getCompanyName()).eqIfPresent(NoticeEnterpriseDO::getPositionId, reqVO.getPositionId()).likeIfPresent(NoticeEnterpriseDO::getPositionName, reqVO.getPositionName()).eqIfPresent(NoticeEnterpriseDO::getStatus, reqVO.getStatus()).betweenIfPresent(NoticeEnterpriseDO::getCreateTime, reqVO.getCreateTime()).orderByDesc(NoticeEnterpriseDO::getId));
    }


    /**
     * 人才库
     *

     */
    List<NoticeEnterpriseDO> getNoticeApplicationMySelfList(@Param("positionId") Integer positionId, @Param("positionName") String positionName, @Param("tenantId") Long tenantId);

}